package com.yima.baseproj.module.app.equipmentDevice.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yima.baseproj.config.validate.constraint.dict.ValidDictEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;
import java.util.Date;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@Data
public class EquipmentDeviceAddParamModel {

    @ApiModelProperty(value = "开始时间")
    private String deviceInitiate;
    @ApiModelProperty(value = "结束时间")
    private String deviceFinish;

    @ApiModelProperty(value = "事件名称")
    private String eventCode;

    @ApiModelProperty(value = "事件主体Guid")
    private String eventGuid;

    @ApiModelProperty(value = "设备序列号")
    private String deviceNo;

    @ApiModelProperty(value = "设备内网ip")
    private String deviceIp;

    @ApiModelProperty(value = "人员guid 或者STRANGERBABY")
    private String admitGuid;

    @ApiModelProperty(value = "识别模式,1:人像识别, 2:刷卡识别 ,3:人卡合一 4,人证比对 5:按钮开门 6：远程开门 7:密码识别 8：人+密码开门 9:口罩测温检测 10:二维码识别 11: 刷身份证 12:指纹识别")
    private String recMode;

    @ApiModelProperty(value = "现场照url")
    private String filePath;

    @ApiModelProperty(value = "识别记录时间戳")
    private Long showTime;

    @ApiModelProperty(value = "活体结果 1:活体判断成功 2:活体判断失败 3:未进行活体判断")
    private Long aliveType;

    @ApiModelProperty(value = "识别分数")
    private Long recScore;

    @ApiModelProperty(value = "软件版本号")
    private String deviceVersion;

    @ApiModelProperty(value = "设备来源")
    private Long source;

    @ApiModelProperty(value = "人员比对结果,1:比对成功 2:比对失败")
    private Long type;

    @ApiModelProperty(value = "识别卡号")
    private String cardNo;

    @ApiModelProperty(value = "	设备名称")
    private String deviceName;

    @ApiModelProperty(value = "比对模式,1:本地识别 2:云端识别")
    private Long recType;

    @ApiModelProperty(value = "有效日期判断 1:有效期内 2:有效期外 3:未进行有效期判断")
    private Long permissionTimeType;

    @ApiModelProperty(value = "有效时间段判断 1:时间段内 2:时间段外 3:未进行时间段判断")
    private Long passTimeType;

    @ApiModelProperty(value = "识别模式判断 1. 模式正确 2.模式不正确")
    private Long recModeType;

    @ApiModelProperty(value = "	保留字段")
    private String storageId;

    @ApiModelProperty(value = "当前时间戳")
    private Long timestamp;

    @ApiModelProperty(value = "识别主体姓名")
    private String admitName;

    @ApiModelProperty(value = "姓名")
    private String cardinfoName;

    @ApiModelProperty(value = "性别")
    private String cardinfoSex;

    @ApiModelProperty(value = "公民身份号码")
    private String cardinfoIdnum;

    @ApiModelProperty(value = "住址")
    private String cardinfoAddress;

    @ApiModelProperty(value = "签发机关")
    private String cardinfoIssuingorgan;

    @ApiModelProperty(value = "身份证照")
    private String cardinfoPhotopath;

    @ApiModelProperty(value = "有效期限")
    private String cardinfoUsefullife;

    @ApiModelProperty(value = "比对结果")
    private String cardinfoCompareresult;

    @ApiModelProperty(value = "卡编号,部分身份证阅读器不支持读取")
    private Long cardinfoId;

    @ApiModelProperty(value = "比对时间")
    private Long cardinfoCreatetime;

    @ApiModelProperty(value = "比对设备序列号")
    private String cardinfoDevicekey;

    @ApiModelProperty(value = "")
    private Long appId;


    @ApiModelProperty(value = "动作Id，唯一标识")
    private Long actionId;

    @ApiModelProperty(value = "人像guid")
    private String faceGuid;
    @ApiModelProperty(value = "场景Guid")
    private String sceneGuid;

    @ApiModelProperty(value = "错误码，当status=1时，此处有值")
    private String code;
    @ApiModelProperty(value = "销权状态：0：成功，1：失败")
    private Long status;

}